﻿package com.eitb.programas.diputacion{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.utils.*;
	import flash.media.*;
	import fl.data.DataProvider;
	import com.eitb.cargadores.*;
	import com.eitb.colecciones.*;
	import com.eitb.formaters.*;
	import com.eitb.literales.*;
	import com.eitb.reproductores.*;
	import com.eitb.imagenes.*;
	import com.eitb.programas.diputacion.rutas.*;
	import com.eitb.programas.diputacion.entidades.*;
	import com.eitb.programas.diputacion.literales.*;
	import com.eitb.util.logging.*;
	
public class ModeloIntermedio implements IControladorCargador,IControladorIntermedio {
		
		private var vIntermedio:IVistaIntermedio;
		private var vMain:Main;
		private var categorias:Array;
		private var xmlData:XMLList;
		private var buttons:Array;
		private var labels:Array;
		
		
		public function ModeloIntermedio() {
			this.categorias=new Array();
			this.buttons=new Array();
			this.labels=new Array();
			var i:int;
 			for (i = 1; i <11; i++) { 
     			var buttonId:String = "btCat" + i;
				var labelId:String = "text"+i;
				var dp:DataProvider = new DataProvider();
				dp.addItem({button:buttonId,label:labelId,value:""});
				this.buttons[buttonId] = dp;
				this.labels[labelId] = dp;
 			}
		}
		
		public function initXmlData(xmlData:XMLList) {
			this.xmlData=xmlData;
			for each (var xmlCat:XML in xmlData.elements("cat")) {
				var categoria:Categoria=new Categoria() ;
				categoria.setName(xmlCat.text());
				this.categorias.push(categoria);
				
			}
		}
		
		public function start():void {
			// inicia los comboBox
			var count:int = 1;
			for each (var categoria:Categoria in this.categorias) {
				//this.vIntermedio.debug(categoria.getName());
				var dp:DataProvider = this.buttons["btCat"+count];
				dp.getItemAt(0)['value'] = categoria.getName();
				this.vIntermedio.crearCategoria(count,dp.getItemAt(0).value);
				count++;
			}
		}
		
		
		// INIT COMPONENTES
		public function initVista(vIntermedio:IVistaIntermedio):void {
			this.vIntermedio=vIntermedio;
		}
		
		public function initMain(vMain:Main):void {
			this.vMain=vMain;
		}
		
		//Override from IControladorCargador
		public function addElementos(numero:int):void {

		}
		//Override from IControladorCargador
		public function removeElementos(numero:int):void {

		}
		
		//Override from IControladorIntermedio
		public function onCategoryBtnClick(evt:MouseEvent):void {
			var dp:DataProvider = this.buttons[evt.target.name];
			this.vMain.startDiputacion(dp.getItemAt(0)['value']);
		}
		
		public function onCategoryLabelClick(evt:MouseEvent):void {
			var dp:DataProvider = this.labels[evt.target.name];
			this.vMain.startDiputacion(dp.getItemAt(0)['value']);
		}
	}

}